perm filename FUNCTI.DIF[CLS,LSP]1 blob
sn#826005 filedate 1986-10-13 generic text, type T, neo UTF8
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
**** File 1) FUNCTI.1[CLS,LSP]/1P/36L
1) \Defun {add-method} {generic-function options specialized-lambda-list function}
1) \label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/36L
2) \Defun {add-method} {generic-function qualifiers specializers function}
2) \label Arguments:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/43L
1) The {\it options\/} argument specifies the method combination options.
1) The {\it specialized-lambda-list\/} argument is a lambda list of the type that
1) may be given to {\bf defmethod}.
1) The {\it function\/} argument is the method function.
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/43L
2) The {\it qualifiers\/} argument specifies the method combination options.
2) The {\it specializers\/} argument is a list of argument specializers of
2) the type that may be given to {\bf defmethod}.
2) The {\it function\/} argument is the method function.
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/63L
1) {\bf defmethod}
1) \endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/63L
2) {\bf defmethod
2) make-generic-function}
2) \endcom
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/73L
1) list of the parameters of the generic function, in the order in which
1) they were specified, and a list of these same parameters, in order of
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/75L
2) list of the required parameters of the generic function, in the order in which
2) they were specified, and a list of these same parameters, in order of
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/88L
1) Two values are returned: a list of the parameters of the generic
1) function and a list of the same parameters, in order of decreasing
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/90L
2) Two values are returned: a list of the required parameters of the generic
2) function and a list of the same parameters, in order of decreasing
***************
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
**** File 1) FUNCTI.1[CLS,LSP]/1P/130L
1) \label Values:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/132L
2) The {\it new-class\/} argument is a class object.
2) \label Values:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/176L
1) If the object was created with {\bf make-instance}, the class that is
1) returned is the class that was specified as the {\it class\/} argument
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/180L
2) If the object was created with {\bf make-instance} and its clas was
2) not changed, the class that is
2) returned is the class that was specified as the {\it class\/} argument
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/207L
1) \+&{\bf defclass} {\it name includes} \paren{\star{\curly{slot-description}}} \star{\curly{class-option}}\cr
1) \Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/212L
2) \+&{\bf defclass} {\it class-name includes} \paren{\star{\curly{slot-description}}} \star{\curly{class-option}}\cr
2) \Vskip 1pc!
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/216L
1) \+&&{\tt :accessor} {\it symbol\/} $\vert$ {\tt :accessor nil} $\vert$ \cr
1) \+&&{\tt :read-accessor} {\it symbol\/} $\vert$ {\tt :read-accessor nil} $\vert$ \cr
1) \+&&{\tt :allocation} {\it allocation-type} \cr
1) \Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/221L
2) \+&&{\tt :accessor} {\it generic-function-name\/} $\vert$ {\tt :accessor nil} $\vert$ \cr
2) \+&&{\tt :read-accessor} {\it generic-function-name\/} $\vert$ {\tt :read-accessor nil} $\vert$ \cr
2) \+&&{\tt :allocation} {\it allocation-type} \cr
2) \Vskip 1pc!
2) \+&{\it generic-function-name\/}::$=$ {\it symbol\/}\cr
2) \Vskip 1pc!
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/227L
1) \+&&({\tt :metaclass} {\it symbol\/}) \cr
1) \+&&({\tt :instantiable t}) $\vert$ ({\tt :instantiable nil}) \cr
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/234L
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
2) \+&&({\tt :metaclass} {\it class-name\/}) \cr
2) \+&&({\tt :instantiable t}) $\vert$ ({\tt :instantiable nil}) \cr
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/373L
1) \Defmac {defmethod} {name
1) \star{\curly{option}}
1) \vtop{\hbox{specialized-lambda-list}
1) \hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
1) \Vskip1pc!\null
1) {\it option\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
1) \Vskip1pc!\null
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/380L
2) \Defmac {defmethod} {generic-function-name
2) \vtop{\hbox{\star{\curly{qualifier}}}
2) \hbox{specialized-lambda-list}
2) \hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
2) \Vskip1pc!\null
2) {\it generic-function-name\/}::$=$ {\it symbol}
2) \Vskip1pc!\null
2) {\it qualifier\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
2) \Vskip1pc!\null
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/390L
1) \+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it thing}\cr
1) \Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/399L
2) \+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it datum}\cr
2) \Vskip 1pc!
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/399L
1) \label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/408L
2) The new method object is returned as the result.
2) \label Examples:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/417L
1) \Defmac {defmethod-setf} {name
1) \star{\curly{option}}
1) \vtop{\hbox{specialized-lambda-list setf-lambda-list}
1) \hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
1) \Vskip1pc!\null
1) {\it option\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
1) \Vskip1pc!\null
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/428L
2) \Defmac {defmethod-setf} {generic-function-name
2) \vtop{\hbox{\star{\curly{qualifier}}}
2) \hbox{specialized-lambda-list specialized-setf-vars}
2) \hbox{\star{\curly{declaration $\vert$ documentation}} \star\form}}}
2) \Vskip1pc!\null
2) {\it generic-function-name\/}::$=$ {\it symbol}
2) \Vskip1pc!\null
2) {\it qualifier\/}::$=$ {\tt :before $\vert$ :after $\vert$ $\dots$}
2) \Vskip1pc!\null
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/434L
1) \+&{\it setf-lambda-list}::$=$ (\star{\curly{var $\vert$ {\rm (}var specializer\/{\rm )}}} \cr
1) \Vskip1pc!\null
1) \+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it thing}\cr
1) \Vskip 1pc!
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/447L
2) \+&{\it specialized-setf-vars\/}::$=$ (\star{\curly{var $\vert$ {\rm (}var specializer\/{\rm )}}} \cr
2) \Vskip1pc!\null
2) \+&{\it specializer\/}::$=$ {\it symbol} $\vert$ {\tt '}{\it datum}\cr
2) \Vskip 1pc!
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/445L
1) \label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/458L
2) The new method object is returned as the result.
2) \label Examples:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/485L
1) documentation string for the generic function. If the first argument is
1) a generic function, the documentation string of the generic is returned.
1) If the first argument is a method, the documentation string of the method
1) is returned.
1) \label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/500L
2) documentation string for the generic function.
2) If the first argument is a method, the documentation string of the method
2) is returned.
2) If the first argument is a class object, the documentation string for the
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
2) class is returned.
2) \label Syntax:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/497L
1) documentation for a symbol, generic function, or method.
1) \endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/513L
2) documentation for a symbol, generic function, method, or class.
2) \endcom
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/511L
1) [It is intended that this function correspond to whatever
1) {\bf function-parameters} is adopted for Common Lisp.]
1) \label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/527L
2) \label Syntax:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/525L
1) \label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/538L
2) The result of {\bf function-parameters} is a copy of the lambda list of its
2) argument from which default values for {\bf \&optional} and {\bf \&key}
2) parameters and supplied-p parameters have been removed.
2) \label Examples:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/534L
1) The macro {\bf setf} can be used with {\bf function-parameters}.
1) \endcom
1) \begincom{generic-function-p}
1) \label Purpose:
1) The predicate {\bf generic-function-p} is true if its argument is a
1) generic function, otherwise it is false.
1) \label Syntax:
1) \Defun {generic-function-p} {object}
1) \label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/551L
2) [It is intended that this function correspond to whatever
2) {\bf function-parameters} is adopted for Common Lisp.]
2) The macro {\bf setf} can be used with {\bf function-parameters}.
2) \endcom
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
2) \begincom{generic-function-method-combination}
2) \label Purpose:
2) The function {\bf generic-function-method-combination} returns the method combination
2) for the given generic function.
2) \label Syntax:
2) \Defun {generic-function-method-combination} {generic-function}
2) \label Arguments:
2) The {\it generic-function\/} argument is a generic
2) function or a symbol that names a generic function.
2) \label Values:
2) \label Examples:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/561L
1) \begincom{get-method}
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/589L
2) \begincom{generic-function-p}
2) \label Purpose:
2) The predicate {\bf generic-function-p} is true if its argument is a
2) generic function, otherwise it is false.
2) \label Syntax:
2) \Defun {generic-function-p} {object}
2) \label Examples:
2) \screen!
2) A non-{\bf nil} value is returned if the argument is a generic function
2) object, otherwise the result is {\bf nil}.
2) \endscreen!
2) \endcom
2) \begincom{get-method}
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/566L
1) method object that has the given argument specializers and options.
1) If no such method exists, {\bf get-method} returns {\bf nil}.
1) \label Syntax:
1) \Defun {get-method} {generic-function options specializers}
1) \label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/618L
2) method object that has the given argument qualifiers and specializers.
2) If no such method exists, {\bf get-method} returns {\bf nil}.
2) \label Syntax:
2) \Defun {get-method} {generic-function qualifiers specializers}
2) \label Arguments:
***************
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
**** File 1) FUNCTI.1[CLS,LSP]/1P/579L
1) The {\it options\/} argument specifies the method combination options.
1) The {\it specializers\/} argument is a list of the argument specializers
1) for the method. If {\it specializers\/} is {\bf nil}, the
1) default method function for that method is returned.
1) \endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/631L
2) The {\it qualifiers\/} argument specifies the method combination options.
2) The {\it specializers\/} argument is a list of the argument specializers
2) for the method. If {\it specializers\/} is {\bf nil}, the
2) default method function for that generic function is returned.
2) \label Values:
2) The result of {\bf get-method} is the method object with the given
2) qualifiers and specializers. If no such method object exists,
2) {\bf get-method} returns {\bf nil}.
2) \label Examples:
2) \screen!
2) \endscreen!
2) \endcom
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/603L
1) \endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/667L
2) \label Values:
2) The result of {\bf lambda-list-specializers} is a list of the argument
2) specifiers for all required arguments in the given lambda list.
2) \endcom
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/614L
1) The function {\bf make-generic-function} is intended to be the
1) programmatic interface to {\bf defgeneric}.
1) \label Syntax:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/683L
2) \label Syntax:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/627L
1) permutation of the elements of the lambda list.
1) The {\bf :method-combination-type} argument is a symbol.
1) The {\bf :documentation} argument is a string.
1) \label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/693L
2) permutation of all the required parameters of the generic function lambda list.
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
2) The {\bf :method-combination-type} argument is a symbol.
2) The {\bf :documentation} argument is a string.
2) \label Values:
2) The result of {\bf make-generic-function} is a generic function object.
2) \label Examples:
2) \screen!
2) [To be written.]
2) \endscreen!
2) \label Remarks:
2) The function {\bf make-generic-function} is intended to be the
2) programmatic interface to {\bf defgeneric}.
2) \label See Also:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/656L
1) \label Remarks:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/738L
2) The new instance is returned.
2) \label Remarks:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/672L
1) \label Examples:
1) \screen!
1) [To be written.]
1) \endscreen!
1) \label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/756L
2) \label See Also:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/688L
1) \begincom{method-combination}
1) \label Purpose:
1) The function {\bf method-combination} returns the method combination
1) for the given generic function.
1) \label Syntax:
1) \Defun {method-combination} {generic-function}
1) \label Arguments:
1) The {\it generic-function\/} argument is a generic
1) function or a symbol that names a generic function.
1) \label Values:
1) \label Examples:
1) \screen!
1) [To be written.]
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
1) \endscreen!
1) \endcom
1) \begincom{remove-class}
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/766L
2) \begincom{remove-class}
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/739L
1) name, options, and argument specializers from the corresponding
1) generic function.
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/789L
2) name, qualifiers, and argument specializers from the corresponding
2) generic function.
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/747L
1) \Defun {remove-method} {generic-function options specializers}
1) \label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/797L
2) \Defun {remove-method} {generic-function qualifiers specializers}
2) \label Arguments:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/754L
1) The {\it options\/} argument specifies the method combination options.
1) The {\it specializers\/} argument is a list of the argument
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/804L
2) The {\it qualifiers\/} argument specifies the method combination options.
2) The {\it specializers\/} argument is a list of the argument
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/762L
1) The {\it specializers\/} list can be obtained from a {\bf defmethod}
1) lambda list by use of the function {\bf lambda-list-specializers}.
1) \label Examples:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/812L
2) \label Values:
2) The result of {\bf remove-method} is the method object with the given
2) qualifiers and specializers. If no such method object exists,
2) {\bf remove-method} returns {\bf nil}.
2) \label Examples:
***************
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
**** File 1) FUNCTI.1[CLS,LSP]/1P/772L
1) \label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/825L
2) \label Remarks:
2) The {\it specializers\/} list can be obtained from a {\bf defmethod}
2) lambda list by use of the function {\bf lambda-list-specializers}.
2) \label See Also:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/791L
1) the given name, options, and argument specializers from the corresponding
1) generic function.
1) The method {\bf remove-setf-method} {\bf t} if it succeeds and
1) {\bf nil} if there is no such method.
1) \label Syntax:
1) \Defun {remove-setf-method} {generic-function options specializers setf-specialiers}
1) \label Arguments:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/849L
2) the given name, qualifiers, and argument specializers from the corresponding
2) generic function.
2) The method {\bf remove-setf-method} returns the given method object if it
2) succeeds and {\bf nil} if there is no such method.
2) \label Syntax:
2) \Defun {remove-setf-method} {generic-function qualifiers specializers setf-specializers}
2) \label Arguments:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/806L
1) The {\it options\/} argument specifies the method combination options.
1) The {\it specializers\/} argument is a list of
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/864L
2) The {\it qualifiers\/} argument specifies the method combination options.
2) The {\it specializers\/} argument is a list of
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/820L
1) \label See Also:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/878L
2) The result of {\bf remove-setf-method} is the method object with the given
2) qualifiers and specializers. If no such method object exists,
2) {\bf remove-setf-method} returns {\bf nil}.
2) \label See Also:
***************
1) FUNCTI.1[CLS,LSP] and 2) FUNCTI.TEX[CLS,LSP] 10-13-86 21:53 pages 1,1
**** File 1) FUNCTI.1[CLS,LSP]/1P/888L
1) \label Remarks:
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/949L
2) The value of the specified slot is returned.
2) \label Examples:
2) \screen!
2) [To be written.]
2) \endscreen!
2) \label Remarks:
***************
**** File 1) FUNCTI.1[CLS,LSP]/1P/896L
1) \label Examples:
1) \screen!
1) [To be written.]
1) \endscreen!
1) \endcom
**** File 2) FUNCTI.TEX[CLS,LSP]/1P/965L
2) \endcom
***************